Example-Based Program Transformation
نویسندگان
چکیده
Software changes. During their life cycle, software systems experience a wide spectrum of changes, from minor modifications to major architectural shifts. Small-scale changes are usually performed with text editing and refactorings, while large-scale transformations require dedicated program transformation languages. For medium-scale transformations, both approaches have disadvantages. Manual modifications may require a myriad of similar yet not identical edits, leading to errors and omissions, while program transformation languages have a steep learning curve, and thus only pay off for large-scale transformations. We present a system supporting example-based program transformation. To define a transformation, a programmer performs an example change manually, feeds it into our system, and generalizes it to other application contexts. With time, a developer can build a palette of reusable medium-sized code transformations. We provide a detailed description of our approach and illustrate it with examples.
منابع مشابه
Explanation Based Program Transformation
Fold-unfold is a well known program transformation technique. Its major drawback is that folding requires an Eureka step to invent new procedures. In the context of logic programming, we present a technique where the folding is driven by an example. The transformation is aimed at programs suffering from inefficiencies due to the repetition of identical subcomputations. The execution of an examp...
متن کاملAbstracting a Speciication from Code
ing a Speci cation from Code Martin Ward Computer Science Dept Science Labs South Rd Durham DH1 3LE July 16, 1993 Abstract Much of the work on developing program transformation systems has concentrated on systems to assist in program development. However, the four separate surveys carried out between 1977 and 1990 [18,20,22,24], summarised in [17], show that between 40% and 60% of all commercia...
متن کاملClose interval approximation of piecewise quadratic fuzzy numbers for fuzzy fractional program
The fuzzy approach has undergone a profound structural transformation in the past few decades. Numerous studies have been undertaken to explain fuzzy approach for linear and nonlinear programs. While, the findings in earlier studies have been conflicting, recent studies of competitive situations indicate that fractional programming problem has a positive impact on comparative scenario. We pro...
متن کاملA Nonlinear Grayscale Morphological and Unsupervised method for Human Facial Synthesis Based on an Example Image
Human facial generation of example image is used as a requirement for biometric applications for the purpose of identifying individuals. In this paper, face generation consists of three main steps. In the first step, detection of significant lines and edges of the example image are carried out using nonlinear grayscale morphology. Then, hair areas are identified from the face of sample. The fin...
متن کاملSome Thoughts on the Role of Examples in Program Transformation and its Relevance for Explanation-based Learning
Explanation-based learning is using the same technique as partial evaluation, namely unfolding. However, it brings a new insight: an example can be used to guide the transformation process. In this paper, we further explore this insight and show how examples can be used to guide other kinds of program transformation, guiding not only the unfolding, but also the introduction of new predicates an...
متن کامل